PHLEGM v6 GUI CHR font / emulation starvation fix

Symptom
- With the new Packard Bell CHR GUI font active, opening/repainting the Control / Monitor could make machine emulation appear to hang or stall.

Root cause
- drawchr.lib stores a successful loaded-state as FreeBASIC Boolean TRUE (-1).
- DrawChrEnsureLoaded incorrectly tested gDrawChrFontLoaded > 0.
- Because -1 is not greater than zero, the fast cache path never ran.
- Every rendered glyph therefore fell through to Dir(fontPath), causing filesystem I/O in the GUI paint path.
- GUI messages and emulation share the runtime thread, so repainting could monopolize that thread and starve MachineRunSlice.

Fix
- Treat any nonzero loaded-state as true (gDrawChrFontLoaded <> 0).
- Resolve/load the CHR atlas once at the start of GuiChrPaintWrappedText and draw visible glyphs directly from the already-cached atlas.
- Preserve black ON/1 pixels and transparent OFF/0 pixels.
- Preserve the resize/repaint correction from the immediately preceding checkpoint.

Validation
- tools/validate_chr_remap.py now rejects the >0 Boolean-cache regression and verifies that wrapped CHR text performs one font-ensure per paint pass rather than one per glyph.
